package com.orange.singlePatterns;

/**
 * @Description:枚举式单列
 * 使用枚举的特性，不能被new，并且属性静态，可以在枚举中创建出单列的对象
 */
public class EnumSingleton {
    //单列对象
    private static EnumSingleton INSTANCE=null;

    //私有化构造器
    private EnumSingleton(){};

    //提供接口
    public  EnumSingleton getINSTANCE(){
        return getEnumSingleton.INSTANCE.getInstance();
    }

    //构造枚举
    private enum getEnumSingleton{
        INSTANCE();

        private EnumSingleton getInstance(){
            return new EnumSingleton();
        }
    }
}
